#ifndef YOOHOO_XMPPCORE_ERRORDETAILSPARSERFACTORY_H
#define YOOHOO_XMPPCORE_ERRORDETAILSPARSERFACTORY_H

#include "xmppcore/xmppparserfactory.h"

namespace yoohoo_xmppcore {

class ErrorDetailsParser : public XmppParser {
public:
	ErrorDetailsParser();
	XmppObject* obj();
	bool processAttributes(QString path, QList<ParsingAttribute> attributes);
	bool processText(QString path, QString text);

private:
	static const QString PATH_TEXT;
	static const QString ATTRIBUTE_LOCAL_NAME_LANG;
	static const QString ATTRIBUTE_NAMESPACE_XML;
	static const QString ATTRIBUTE_LOCAL_NAME_XMLNS;
	XmppObject* _obj;
};

class ErrorDetailsParserFactory : public XmppParserFactory {
public:
	XmppParser* createParser();
};

class StanzaErrorDetailsParserFactory : public ErrorDetailsParserFactory {
public:
	ProtocolKey protocolKey();
};

class StreamErrorDetailsParserFactory : public ErrorDetailsParserFactory {
public:
	ProtocolKey protocolKey();
};

}

#endif
